package com.ys.entity.hr;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="TB_JobLevel", catalog="Id")
public class TbJobLevel extends BaseEntity<TbJobLevel> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="Rank", nameJava="rank", typeDataBase="varchar")
	private String rank;
	@YsField(nameDataBase="Category", nameJava="category", typeDataBase="tinyint")
	private Integer category;
	@YsField(nameDataBase="Categories", nameJava="categories", typeDataBase="tinyint")
	private Integer categories;
	@YsField(nameDataBase="Type", nameJava="type", typeDataBase="int")
	private Integer type;
	@YsField(nameDataBase="FixsalaryStandard", nameJava="fixsalaryStandard", typeDataBase="decimal")
	private BigDecimal fixsalaryStandard;
	@YsField(nameDataBase="SalaryStandard", nameJava="salaryStandard", typeDataBase="decimal")
	private BigDecimal salaryStandard;
	@YsField(nameDataBase="FixedSalaryRatio", nameJava="fixedSalaryRatio", typeDataBase="decimal")
	private BigDecimal fixedSalaryRatio;
	@YsField(nameDataBase="PerformanceRatio", nameJava="performanceRatio", typeDataBase="decimal")
	private BigDecimal performanceRatio;
	@YsField(nameDataBase="BasicSalary", nameJava="basicSalary", typeDataBase="decimal")
	private BigDecimal basicSalary;
	@YsField(nameDataBase="PositionSalary", nameJava="positionSalary", typeDataBase="decimal")
	private BigDecimal positionSalary;
	@YsField(nameDataBase="PerbasedSalary", nameJava="perbasedSalary", typeDataBase="decimal")
	private BigDecimal perbasedSalary;
	@YsField(nameDataBase="TransSubsidy", nameJava="transSubsidy", typeDataBase="decimal")
	private BigDecimal transSubsidy;
	@YsField(nameDataBase="CateringSubsidy", nameJava="cateringSubsidy", typeDataBase="decimal")
	private BigDecimal cateringSubsidy;
	@YsField(nameDataBase="JobPromotion", nameJava="jobPromotion", typeDataBase="decimal")
	private BigDecimal jobPromotion;
	@YsField(nameDataBase="QuarterlyBonus", nameJava="quarterlyBonus", typeDataBase="decimal")
	private BigDecimal quarterlyBonus;
	@YsField(nameDataBase="AnnualBonus", nameJava="annualBonus", typeDataBase="decimal")
	private BigDecimal annualBonus;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public TbJobLevel setId(Long id) {
		this.id = id;
		return this;
	}
	public String getRank() {
		return rank;
	}
	public TbJobLevel setRank(String rank) {
		this.rank = rank;
		return this;
	}
	public Integer getCategory() {
		return category;
	}
	public TbJobLevel setCategory(Integer category) {
		this.category = category;
		return this;
	}
	public Integer getCategories() {
		return categories;
	}
	public TbJobLevel setCategories(Integer categories) {
		this.categories = categories;
		return this;
	}
	public Integer getType() {
		return type;
	}
	public TbJobLevel setType(Integer type) {
		this.type = type;
		return this;
	}
	public BigDecimal getFixsalaryStandard() {
		return fixsalaryStandard;
	}
	public TbJobLevel setFixsalaryStandard(BigDecimal fixsalaryStandard) {
		this.fixsalaryStandard = fixsalaryStandard;
		return this;
	}
	public BigDecimal getSalaryStandard() {
		return salaryStandard;
	}
	public TbJobLevel setSalaryStandard(BigDecimal salaryStandard) {
		this.salaryStandard = salaryStandard;
		return this;
	}
	public BigDecimal getFixedSalaryRatio() {
		return fixedSalaryRatio;
	}
	public TbJobLevel setFixedSalaryRatio(BigDecimal fixedSalaryRatio) {
		this.fixedSalaryRatio = fixedSalaryRatio;
		return this;
	}
	public BigDecimal getPerformanceRatio() {
		return performanceRatio;
	}
	public TbJobLevel setPerformanceRatio(BigDecimal performanceRatio) {
		this.performanceRatio = performanceRatio;
		return this;
	}
	public BigDecimal getBasicSalary() {
		return basicSalary;
	}
	public TbJobLevel setBasicSalary(BigDecimal basicSalary) {
		this.basicSalary = basicSalary;
		return this;
	}
	public BigDecimal getPositionSalary() {
		return positionSalary;
	}
	public TbJobLevel setPositionSalary(BigDecimal positionSalary) {
		this.positionSalary = positionSalary;
		return this;
	}
	public BigDecimal getPerbasedSalary() {
		return perbasedSalary;
	}
	public TbJobLevel setPerbasedSalary(BigDecimal perbasedSalary) {
		this.perbasedSalary = perbasedSalary;
		return this;
	}
	public BigDecimal getTransSubsidy() {
		return transSubsidy;
	}
	public TbJobLevel setTransSubsidy(BigDecimal transSubsidy) {
		this.transSubsidy = transSubsidy;
		return this;
	}
	public BigDecimal getCateringSubsidy() {
		return cateringSubsidy;
	}
	public TbJobLevel setCateringSubsidy(BigDecimal cateringSubsidy) {
		this.cateringSubsidy = cateringSubsidy;
		return this;
	}
	public BigDecimal getJobPromotion() {
		return jobPromotion;
	}
	public TbJobLevel setJobPromotion(BigDecimal jobPromotion) {
		this.jobPromotion = jobPromotion;
		return this;
	}
	public BigDecimal getQuarterlyBonus() {
		return quarterlyBonus;
	}
	public TbJobLevel setQuarterlyBonus(BigDecimal quarterlyBonus) {
		this.quarterlyBonus = quarterlyBonus;
		return this;
	}
	public BigDecimal getAnnualBonus() {
		return annualBonus;
	}
	public TbJobLevel setAnnualBonus(BigDecimal annualBonus) {
		this.annualBonus = annualBonus;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public TbJobLevel setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public TbJobLevel setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public TbJobLevel setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static TbJobLevel tbJobLevel(
		String rank,
		Integer category,
		Integer categories,
		Integer type,
		BigDecimal fixsalaryStandard,
		BigDecimal salaryStandard,
		BigDecimal fixedSalaryRatio,
		BigDecimal performanceRatio,
		BigDecimal basicSalary,
		BigDecimal positionSalary,
		BigDecimal perbasedSalary,
		BigDecimal transSubsidy,
		BigDecimal cateringSubsidy,
		BigDecimal jobPromotion,
		BigDecimal quarterlyBonus,
		BigDecimal annualBonus,
		Integer status
			) {
		TbJobLevel entity = new TbJobLevel();
		entity.setRank(rank);
		entity.setCategory(category);
		entity.setCategories(categories);
		entity.setType(type);
		entity.setFixsalaryStandard(fixsalaryStandard);
		entity.setSalaryStandard(salaryStandard);
		entity.setFixedSalaryRatio(fixedSalaryRatio);
		entity.setPerformanceRatio(performanceRatio);
		entity.setBasicSalary(basicSalary);
		entity.setPositionSalary(positionSalary);
		entity.setPerbasedSalary(perbasedSalary);
		entity.setTransSubsidy(transSubsidy);
		entity.setCateringSubsidy(cateringSubsidy);
		entity.setJobPromotion(jobPromotion);
		entity.setQuarterlyBonus(quarterlyBonus);
		entity.setAnnualBonus(annualBonus);
		entity.setStatus(status);
		return entity;
	}
}